c语言高手快来帮帮忙```急“进制转换”

来源:百度知道 编辑:UC知道 时间:2024/09/28 10:13:04
输入一个十进制数``将其转换成2,8,16 进制的数````
谢谢`快 急用```不要用什么变态的转换函数``全用基本的C语言学哈
不用itoa函数``另写子程序解决
我不要在百度里面搜的啊`````哪个我也看了的``没用 要简单点的`这个太麻烦 呵呵 我花了两个小时居然写出来了 哈哈``
#include<stdio.h>
main()
{int num,i=0,a[10],r_gitil,j,n;
printf("input one digital:");
scanf("%d",&num);
printf("zhuan huan de jin zhi you 2,8,16\n");
scanf("%d",&n);
while(num!=0)
{
i++;
r_gitil=num%n;
for(j=i-1;j<i;j++)
{
a[j]=r_gitil;
}
num=num/n;
}
printf("zhuanhuan sixteen:");
for(j=i-1;j>=0;j--)
{
switch(a[j])
{
case 10: a[j]='A';printf("%c",a[j]);break;
case 11: a[j]='B';printf("%c",a[j]);break;
case 12: a[j]='C';printf("%c",a[j]);break;
case 13: a[j]='D';printf("%c",a[j]);break;
case 14: a[j]='E';printf("%c",a[j]);break;
case

//十进制转任何进制数。

#include "stdio.h"
#include "math.h"

#define MAXLEN 100

unsigned int check(char *s,unsigned int m);

void strtonum(char* str,unsigned int *p,unsigned int m);

unsigned long mto10(int *p,unsigned int mlen,unsigned int m);

void tenton(unsigned long l10,int *p,int n,unsigned int nlen);

void main()

{

unsigned int m,n,mlen,nlen;

char snumber[MAXLEN];

unsigned int* p;

unsigned long l10;/*l10为m进制转为n进制时作为中转的十进制数*/

int i;

printf("万能进制转换程序。请输入欲转换的数:\n");

gets(snumber);/*将输入的m进制数作为一个字符串接收*/

printf("m进制转为n进制,请输入m和n:\n");

printf("m=");scanf("%u",&m);

printf("n=");scanf("%u",&n);

if(m<2||n<2){printf("非法输入!");exit(0);}

mlen=check(snumber,m);